<template>
  <div class="todo-footer" v-show="total">
    <label>
	<!-- 第一种写法 -->
    <!-- <input type="checkbox" :checked="isAll" @change="checkAll"> -->
		<input type="checkbox" v-model="isAll">
    </label>
    <span>
      <span>已完成{{doneTotal}}</span> / 全部{{total}}
    </span>
    <button class="btn btn-danger" @click="clearAll">清除已完成任务</button>
  </div>
</template>

<script>
export default {
  name: 'MyFooter',
//   props: ['todos', 'checkAllTodo', 'clearAllTodo'],
  props: ['todos'],
  computed: {
	total() {
		return this.todos.length
	},
	doneTotal() {
		// reduce 函数方便做统计  pre为开始的初始值即0 下一次就为返回值  current为当前的数组元素
		return this.todos.reduce((pre, current) => pre + (current.done ? 1 : 0), 0)
		// return this.todos.filter(todo => todo.done).length
	},
	// isAll() {
	// 	return  this.total === this.doneTotal && this.total > 0
	// },
	isAll: {
		get() {
			return  this.total === this.doneTotal && this.total > 0
		},
		set(value) {
			// console.log(value);//这里value拿到的是选择框的值
			this.$emit('checkAllTodo', value)
		}
	}
  },
  methods: {
	//   第一种写法
	// checkAll(e) {
	// 	console.log(e.target.checked);
	// 	this.checkAllTodo(e.target.checked)
	// }
	clearAll() {
		this.$emit('clearAllTodo')
	}
  },
}
</script>

<style scoped>
/*footer*/
	.todo-footer {
		height: 40px;
		line-height: 40px;
		padding-left: 6px;
		margin-top: 5px;
	}

	.todo-footer label {
		display: inline-block;
		margin-right: 20px;
		cursor: pointer;
	}

	.todo-footer label input {
		position: relative;
		top: -1px;
		vertical-align: middle;
		margin-right: 5px;
	}

	.todo-footer button {
		float: right;
		margin-top: 5px;
	}
</style>